package com.ruicar.afs.jobadmin.core.model;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * The type AfsJobInfo
 * <p>Description: </p>
 *
 * @author Fzero
 * @version 1.0
 * @date Created on 2020.06.13 14:17:09
 * @since 1.0
 */
@TableName("afs_job_info")
@Data
public class AfsJobInfo {

    /**
     * Id
     * <p>Description: </p>
     */
    private int id;                // 主键ID

    /**
     * Job group
     * <p>Description: </p>
     */
    private int jobGroup;        // 执行器主键ID
    /**
     * Job cron
     * <p>Description: </p>
     */
    private String jobCron;        // 任务执行CRON表达式
    /**
     * Job desc
     * <p>Description: </p>
     */
    private String jobDesc;

    /**
     * Add time
     * <p>Description: </p>
     */
    private Date addTime;
    /**
     * Update time
     * <p>Description: </p>
     */
    private Date updateTime;

    /**
     * Author
     * <p>Description: </p>
     */
    private String author;        // 负责人
    /**
     * Alarm email
     * <p>Description: </p>
     */
    private String alarmEmail;    // 报警邮件

    /**
     * Executor route strategy
     * <p>Description: </p>
     */
    private String executorRouteStrategy;    // 执行器路由策略
    /**
     * Executor handler
     * <p>Description: </p>
     */
    private String executorHandler;            // 执行器，任务Handler名称
    /**
     * Executor param
     * <p>Description: </p>
     */
    private String executorParam;            // 执行器，任务参数
    /**
     * Executor block strategy
     * <p>Description: </p>
     */
    private String executorBlockStrategy;    // 阻塞处理策略
    /**
     * Executor timeout
     * <p>Description: </p>
     */
    private int executorTimeout;            // 任务执行超时时间，单位秒
    /**
     * Executor fail retry count
     * <p>Description: </p>
     */
    private int executorFailRetryCount;        // 失败重试次数

    /**
     * Glue type
     * <p>Description: </p>
     */
    private String glueType;        // GLUE类型	#com.ruicar.afs.cloud.common.job.core..glue.GlueTypeEnum
    /**
     * Glue source
     * <p>Description: </p>
     */
    private String glueSource;        // GLUE源代码
    /**
     * Glue remark
     * <p>Description: </p>
     */
    private String glueRemark;        // GLUE备注
    /**
     * Glue updatetime
     * <p>Description: </p>
     */
    private Date glueUpdatetime;    // GLUE更新时间


    /**
     * Child job id
     * <p>Description: </p>
     */
    private String childJobId;        // 子任务ID，多个逗号分隔

    /**
     * Trigger status
     * <p>Description: </p>
     */
    private int triggerStatus;        // 调度状态：0-停止，1-运行
    /**
     * Trigger last time
     * <p>Description: </p>
     */
    private long triggerLastTime;    // 上次调度时间
    /**
     * Trigger next time
     * <p>Description: </p>
     */
    private long triggerNextTime;    // 下次调度时间

}
